home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / XML Utilities / Professional Programmer XSL IDE / Xselerator25.msi / Data.Cab / F38898_treelabelslist.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2001-11-05  |  1.6 KB  |  45 lines

  1. <xsl:stylesheet version="1.0" 
  2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:tree-labels-append="tree-labels-append"
  4. xmlns:tree-labels-cons="tree-labels-cons" 
  5. exclude-result-prefixes="xsl tree-labels-append tree-labels-cons"
  6. >
  7.     <xsl:import href="foldl-tree.xsl"/>
  8.     <xsl:import href="append.xsl"/>
  9.  
  10.     <tree-labels-append:tree-labels-append/>
  11.     <tree-labels-cons:tree-labels-cons/>
  12.     
  13.     <xsl:template name="tree-labels-list">
  14.       <xsl:param name="pTree"/>
  15.       
  16.       <xsl:variable name="vAppend" select="document('')/*/tree-labels-append:*[1]"/>
  17.       <xsl:variable name="vCons" select="document('')/*/tree-labels-cons:*[1]"/>
  18.       
  19.       <xsl:call-template name="foldl-tree">
  20.         <xsl:with-param name="pFuncNode" select="$vCons"/>
  21.         <xsl:with-param name="pFuncSubtrees" select="$vAppend"/>
  22.         <xsl:with-param name="pA0" select="/.."/>
  23.         <xsl:with-param name="pNode" select="$pTree"/>
  24.       </xsl:call-template>
  25.     </xsl:template>
  26.  
  27.     <xsl:template match="*[namespace-uri()='tree-labels-cons']">
  28.       <xsl:param name="arg1"/>
  29.       <xsl:param name="arg2"/>
  30.       
  31.       <el><xsl:value-of select="$arg1"/></el>
  32.       <xsl:copy-of select="$arg2"/>
  33.     </xsl:template>
  34.     
  35.     <xsl:template match="*[namespace-uri()='tree-labels-append']">
  36.       <xsl:param name="arg1"/>
  37.       <xsl:param name="arg2"/>
  38.       
  39.       <xsl:call-template name="append">
  40.         <xsl:with-param name="pList1" select="$arg1"/>
  41.         <xsl:with-param name="pList2" select="$arg2"/>
  42.       </xsl:call-template>
  43.     </xsl:template>
  44.  
  45. </xsl:stylesheet>